/*
* 这里property和attribute都翻译成属性 要仔细区别
在JavaScript中，对象(object)是属性(property)的集合。
属性(property)具有字符串类型的名称(name)和属性(attribute)列表。

在JavaScript中，属性(attribute)用于定义和解释属性(property)的状态。
有两种类型的属性(property): 数据属性(data property)和访问属性(access property)。

数据属性(data property)有四个属性：
1 值(value)，可以是任何JavaScript语言类型
2 可写(writable)，定义是否可以更改数据属性
3 enumerable，用于定义是否可以使用for-in语句枚举属性
4 可配置(configurable)，用于定义是否可以删除属性、更改为访问属性、
                      更改为不可写属性，或者是否可以修改其可枚举属性

访问属性(access property)还具有四个属性：
1 get accessor，可以是函数对象或undefined
2 set accessor，可以是函数对象或undefined
3 enumerable，用于定义是否可以使用 for-in 语句枚举属性
4 可配置(configurable)，用于定义是否可以删除属性、
                     是否将其更改为数据属性，或者是否可以修改其其他属性。
*/